草庐IT

Python NotImplemented 常量

全部标签

c++ - 如何忽略函数模板中的常量?

我有以下模板函数:templateboolhasKey(conststd::map&m,K&k){returnm.find(k)!=m.end();}映射中的键不是const。现在,我可能有一个constK。我如何编写一个模板,允许我将K和constK`传递给函数?每次调用函数时都使用const_cast的解决方案吗? 最佳答案 你可以通过以下方式实现你想要的templateboolhasKey(conststd::map&mp,constK&k){returnmp.find(k)!=mp.end();}通过这种方式,您可以确定在查

c++ - 如何在编译时解析静态常量 std::string?

我的C++代码中有一些带有绑定(bind)的SQL查询,这些查询是staticconststd::string,因为这些查询很复杂,所以很容易在某些细节上出错。我想在编译时做一些非常基本的检查,例如计算逗号或:字符的数量。 最佳答案 你不能。staticconststd::string在编译时不存在。constexpr函数可以使用字符串文字,但不能使用std::string对象。 关于c++-如何在编译时解析静态常量std::string?,我们在StackOverflow上找到一个类似

c++ - 我可以期望我从文字常量设置的浮点变量值在分配给其他变量后不变吗?

如果我这样做:floata=1.5f;floatb=a;voidfunc(floatarg){if(arg==1.5f)printf("Youaretehawresome!");}func(b);文本是否每次(以及在每台机器上)打印?编辑我的意思是,即使我没有进行任何计算,我也不确定该值是否会在某个时候通过FPU,如果是这样,FPU是否会更改该值的二进制表示形式。我在某处读到,(近似)相同的浮点值在IEEE754中可以有多个二进制表示。 最佳答案 首先,1.5可以准确地存储在内存中,因此对于这个特定值,是的,它永远为真。更一般地说,

c++ - Qt tr 似乎不适用于静态常量成员?

我目前正在翻译我们的Qtgui。我有以下代码://headerfilestaticconstQStringFoo;//cppfileconstQStringFooConstants::Foo="foo";//anothercppfileeditMenu->addAction(tr(FooConstants::Foo));虽然这似乎不起作用。也就是说,.ts文件中没有上述常量的条目。如果我这样做,它就会起作用://anothercppfileeditMenu->addAction(tr("foo"));但是,这个常量用在很多地方,我不想手动更新每个字符串文字。(如果以后要改变的话)有人能

c++ - 为什么 VS 要求数组大小为常量,而 MinGW 不需要?有办法解决吗?

我已经将我使用code::blocks编写的Mingw的一些代码移植到visualstudio和他们的编译器,它发现了很多错误,我的数组大小必须是常量!为什么VS需要恒定大小而mingw不需要?例如constintlen=(strlen(szPath)-20);charszModiPath[len];len变量用红色下划线表示它是一个错误并表示“预期的常量表达式”我能想到的解决这个问题的唯一方法是......char*szModiPath=newchar[len];delete[]szModiPath;我是否必须将所有内容都更改为动态的,或者在VS中有其他方法吗?

c++ - 如何初始化静态本地 POD 常量?懒还是不懒?

POD表示没有构造函数和析构函数的原始数据类型。我很好奇,编译器如何处理POD静态局部变量的惰性初始化。如果函数要在多线程应用程序中的紧密循环内运行,那么惰性初始化意味着什么?这些是可能的选择。哪个更好?voidfoo_1(){staticconstintv[4]={1,2,3,4};}voidfoo_2(){constintv[4]={1,2,3,4};}这个怎么样?没有惰性初始化,但语法略显笨拙?structBar{staticconstintv[4];voidfoo_3(){//dosomething}};constintMy::v[4]={1,2,3,4};

c++ - 数字常量之前的预期不合格 ID?

我在102、115和128行上遇到错误。我究竟做错了什么?它说:Expectedunqualified-idbeforenumericconstant我不知道那是什么意思。我已经尝试修复这个问题一个星期了,它将于下周三在我的C++类(class)中到期。我真的可以在这里使用一些外部建议。我做错了什么:#include#include#include#include#includeusingnamespacestd;doubleqMeter=0;doublehMeter=0;doubleoneMeter=0;intsolDay=0;stringgarbage;stringlocalTim

c++ - 两个具有相同元素的常量缓冲区

假设我有一个以下具有常量缓冲区的HLSL顶点着色器片段:cbuffermatrixBuffer{matrixworldMatrix;matrixviewMatrix;matrixprojectionMatrix;};cbuffermatrixBuffer2{matrixworldMatrix2;matrixviewMatrix2;matrixprojectionMatrix2;};来自常量缓冲区的变量然后在实际与函数中使用,所以我需要设置它们。在C++中,我声明了以下结构:structMatrixType{D3DMATRIXworld;D3DXMATRIXview;D3DXMATRIX

c++ - std::string 与静态常量的 char 数组

我想在我的cpp文件中的多个位置使用字符串常量。我应该使用std::string还是char[]?staticconststd::stringkConstantString="ConstantStringValue";staticconstcharkConstantString[]="ConstantStringValue";有人告诉我更喜欢后者,因为它“避免了静态分配”。char数组不是也必须静态分配吗? 最佳答案 是的,是的,它也必须静态分配。总是使用std::string除非你的探查器告诉你它值得惹恼像constchar[]这

c++ - 从常量引用初始化非常量引用

intmain(){intx=10;constint&z=x;int&y=z;//whyisthisillformed?}为什么将对int的非常量引用初始化为常量引用是不正确的?这背后的原因是什么? 最佳答案 那么,为什么它不应该是病式的呢?它的格式不正确,因为它违反了constcorrectens的明显规则。在C++语言中,不允许将常量访问传递隐式转换为非常量访问路径。指针和引用是一样的。这就是拥有恒定访问路径的全部目的:防止修改路径所指向的对象。一旦您将其设为常量,就不允许返回到非常量,除非您通过使用const_cast做出具体